package com.xique.door.bean.domain;

import com.xique.common.core.annotation.Excel;
import com.xique.common.datascope.annotation.NeedSetDictParam;
import com.xique.common.core.web.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 车辆管理类型对象 t_park_car_mngtype
 *
 * @author ww
 * @date 2019-10-26
 */
@Data
public class ParkCarMngtype extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自动增量 */
    @NotNull
    private Long id;

    /** 车辆管理类型大类：车辆管理类型大类：1、固定车，2、登记临停车，3、邀请访客车，4、会员临停车，5、临停车 */
    @NotEmpty
    private String mngType;

    @Excel(name = "车辆管理类型大类", readConverterExp = "1-固定车，2-登记临停车，3-邀请访客车，4-会员临停车，5-临停车")
    @NeedSetDictParam(dictType = "car_mng_type", dictValue = "mngType")
    private String mngTypeLable;

    /** 停车场id */
    @NotNull
    @Excel(name = "停车场id")
    private Long parkId;

    /** 计费规则表t_park_charge_car_**的id，根据大类判断id是哪个类型车的计费规则 */
    @Excel(name = "计费规则表t_park_charge_car_**的id，根据大类判断id是哪个类型车的计费规则")
    private Long chargeId;

//    @NeedSetValue(beanClass = ParkChargeCarTemp.class, params = "parkId", method = "selectParkInfoById",targetFiled = "name")
//    @Excel(name = "计费规则")
//    private String chargeName;

    /** 车辆管理类型名称 */
    @NotEmpty
    @Excel(name = "车辆管理类型名称")
    private String name;

    /** 是否计费：Y：是，N：否 */
    @Excel(name = "是否计费：Y：是，N：否")
    private String isFee;

    /** 是否设置有效期：Y：是，N：否 */
    @Excel(name = "是否设置有效期：Y：是，N：否")
    private String isSetPeriod;

    /** 超出有效期或有效次数是否删除车辆表记录：Y：是，N：否 */
    @Excel(name = "超出有效期或有效次数是否删除车辆表记录：Y：是，N：否")
    private String isDelRecord;

    /** 过期处理方式:1-按临时车计费规则 2-2、过期超过宽限天数内不收费，超过按临停车计费 */
    @Deprecated
    @Excel(name = "过期处理方式:1-按临时车计费规则 2-2、过期超过宽限天数内不收费，超过按临停车计费")
    private String overdueProcessMode;

    /** 过期宽限天数 */
    @Deprecated
    @Excel(name = "过期宽限天数")
    private Long overdueGraceDays;

    /** 是否多位多车：Y：是，N：否 */
    @Excel(name = "是否多位多车：Y：是，N：否")
    private String isMultSpaces;

    /** 过期转临停计费ID */
    @Excel(name = "过期转临停计费ID")
    @Deprecated
    private Long tempChargeId;

    /** 状态（normal-启用 pause-停用） */
    @Excel(name = "状态", readConverterExp = "normal-启用 pause-停用")
    private String status;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 是否默认 */
    @Excel(name = "是否默认")
    private String type;

    /** 表记录的状态（normal-正常 delete-删除） */
    @Excel(name = "表记录的状态", readConverterExp = "normal-正常 delete-删除")
    private String recordStatus;

    /** 创建人id */
    private Long createUser;

    /** 更新人id */
    private Long updateUser;

    private String isVisitor;
    private int carCount;

    /**设置的临停费率数量*/
    private Integer setTempChargeCnt;


    /**该管理类型费率设置命令下发状态*/
    private Object MngTypeChargeCommandStatus;

    /**该管理类型设置的通道通行权限命令下发状态*/
    private Object MngTypePassCommandStatus;

    /**字符串类型的id，用于前端*/
    private String idStr;

}
